/*
 * This file is generated by jOOQ.
 */

package ru.tinkoff.edu.java.scrapper.domain.jooq;

import javax.annotation.processing.Generated;
import org.jooq.ForeignKey;
import org.jooq.TableField;
import org.jooq.UniqueKey;
import org.jooq.impl.DSL;
import org.jooq.impl.Internal;
import ru.tinkoff.edu.java.scrapper.domain.jooq.tables.Assignment;
import ru.tinkoff.edu.java.scrapper.domain.jooq.tables.Link;
import ru.tinkoff.edu.java.scrapper.domain.jooq.tables.TelegramChat;
import ru.tinkoff.edu.java.scrapper.domain.jooq.tables.records.AssignmentRecord;
import ru.tinkoff.edu.java.scrapper.domain.jooq.tables.records.LinkRecord;
import ru.tinkoff.edu.java.scrapper.domain.jooq.tables.records.TelegramChatRecord;

/**
 * A class modelling foreign key relationships and constraints of tables in the
 * default schema.
 */
@Generated(
    value = {
        "https://www.jooq.org",
        "jOOQ version:3.18.9"
    },
    comments = "This class is generated by jOOQ"
)
@SuppressWarnings({"all", "unchecked", "rawtypes", "this-escape"})
public class Keys {

    // -------------------------------------------------------------------------
    // UNIQUE and PRIMARY KEY definitions
    // -------------------------------------------------------------------------

    public static final UniqueKey<AssignmentRecord> CONSTRAINT_5A1 = Internal.createUniqueKey(
        Assignment.ASSIGNMENT,
        DSL.name("CONSTRAINT_5A1"),
        new TableField[] {Assignment.ASSIGNMENT.CHAT_ID, Assignment.ASSIGNMENT.LINK_ID},
        true
    );
    public static final UniqueKey<LinkRecord> CONSTRAINT_2 =
        Internal.createUniqueKey(Link.LINK, DSL.name("CONSTRAINT_2"), new TableField[] {Link.LINK.URL}, true);
    public static final UniqueKey<LinkRecord> CONSTRAINT_23 =
        Internal.createUniqueKey(Link.LINK, DSL.name("CONSTRAINT_23"), new TableField[] {Link.LINK.ID}, true);
    public static final UniqueKey<TelegramChatRecord> CONSTRAINT_B =
        Internal.createUniqueKey(
            TelegramChat.TELEGRAM_CHAT,
            DSL.name("CONSTRAINT_B"),
            new TableField[] {TelegramChat.TELEGRAM_CHAT.ID},
            true
        );

    // -------------------------------------------------------------------------
    // FOREIGN KEY definitions
    // -------------------------------------------------------------------------

    public static final ForeignKey<AssignmentRecord, TelegramChatRecord> CONSTRAINT_5 = Internal.createForeignKey(
        Assignment.ASSIGNMENT,
        DSL.name("CONSTRAINT_5"),
        new TableField[] {Assignment.ASSIGNMENT.CHAT_ID},
        Keys.CONSTRAINT_B,
        new TableField[] {TelegramChat.TELEGRAM_CHAT.ID},
        true
    );
    public static final ForeignKey<AssignmentRecord, LinkRecord> CONSTRAINT_5A =
        Internal.createForeignKey(
            Assignment.ASSIGNMENT,
            DSL.name("CONSTRAINT_5A"),
            new TableField[] {Assignment.ASSIGNMENT.LINK_ID},
            Keys.CONSTRAINT_23,
            new TableField[] {Link.LINK.ID},
            true
        );
}
